The environment variables IIIILLLL____CCCCOOOOMMMMPPPPUUUUTTTTEEEE____TTTTHHHHRRRREEEEAAAADDDDSSSS and IIIILLLL____RRRREEEEAAAADDDD____TTTTHHHHRRRREEEEAAAADDDDSSSS can be
used to override the default values for the number of compute threads,
PPPPaaaaggggeeee 1111
IIIILLLL((((1111)))) IIIILLLL((((1111))))
and the number of file read threads. By default one compute thread is
created for each processor on the host system (including the user's
thread), and one read thread is created to perform disk I/O in the
background. For example, you can disable the all multi-processing
feature in IL by issuing the commands:
setenv IL_COMPUTE_THREADS 0
setenv IL_READ_THREADS 0
prior to running an IL based application.
The size of the arena used to allocate spin-locks and semaphores for MP
control can be set with the IIIILLLL____MMMMPPPP____AAAARRRREEEENNNNAAAA____SSSSIIIIZZZZEEEE. This may be necessary if
you create a large number of objects derived from ilLink.
The use of spin-locks to prevent concurrent access to the IL data
structures can be turned of by setting IIIILLLL____MMMMPPPP____LLLLOOOOCCCCKKKKSSSS to 0. You can only
take advantage of this optimization if the number of compute threads and
read threads are both set to zero, and you don't make any concurrent
calls to IL from your application.
By default the IL allows up to forty threads to be sharing the MP arenas.
If you need more, you can set the IIIILLLL____AAAARRRREEEENNNNAAAA____MMMMAAAAXXXXUUUUSSSSEEEERRRRSSSS environment variable
You can use the IIIILLLL____MMMMOOOONNNNIIIITTTTOOOORRRR environment variable to turn on the IL
Monitor. See the IIIILLLLmmmmoooonnnniiiittttoooorrrr(1) man page for more details. If a less
complete level of monitoring is needed (or you need to capture a log of
the operations you can use any or all of IIIILLLL____MMMMOOOONNNNIIIITTTTOOOORRRR____CCCCAAAACCCCHHHHEEEE,
IIIILLLL____MMMMOOOONNNNIIIITTTTOOOORRRR____CCCCOOOOMMMMPPPPAAAACCCCTTTTIIIIOOOONNNN, IIIILLLL____MMMMOOOONNNNIIIITTTTOOOORRRR____RRRREEEESSSSEEEETTTT and IIIILLLL____MMMMOOOONNNNIIIITTTTOOOORRRR____LLLLOOOOCCCCKKKKSSSS. See
iiiillllCCCCaaaacccchhhheeeeIIIImmmmgggg(3il) method, enableGlobalPagingCallback, for more information
on IIIILLLL____MMMMOOOONNNNIIIITTTTOOOORRRR____CCCCAAAACCCCHHHHEEEE. See iiiillllLLLLiiiinnnnkkkk(3il) method, enableResetCallback, for
more information on IIIILLLL____MMMMOOOONNNNIIIITTTTOOOORRRR____RRRREEEESSSSEEEETTTT. You can set IIIILLLL____MMMMOOOONNNNIIIITTTTOOOORRRR____CCCCOOOOMMMMPPPPAAAACCCCTTTTIIIIOOOONNNN
to 1 to get a printed message each time the cache is compacted.
If you set the environment variable IIIILLLL____MMMMOOOONNNNIIIITTTTOOOORRRR____LLLLOOOOCCCCKKKKSSSS to 1, a log of lock
creations and destructions is printed. Additionally, at program exit,
any remaining locks are displayed. For creations, a short message is
printed with the name of the lock. The name consists of the address of
the lock optionally followed by a parenthetical comment describing what
the lock is used for. For destructions and at exit time, the name of the
lock and its metering information are displayed. The metering
information measures how many attempts were made to acquire the lock, how
many of those attempts were successful, how many times the software was
forced to start spinning on the lock, etc. See the uuuussssccccttttlllllllloooocccckkkk(3P) manual
page for more information on the meaning of the metering information.